<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>买股票</title>
    <script>
      /*1，列出所有利润可能
       * 2，将所有利润存入数组，降序排列利润收益
       * 3，过滤出最大利润方案，全部列出
       */
      //假设给定数组第一项为第一天
      function getMaximumProfitScheme(arr) {
        // 1，列出所有利润可能
        var allSchemeArr = []; //所有利润方案可能组合
        for (var i = 0; i < arr.length - 1; i++) {
          //卖出只能在买入后
          for (var j = i + 1; j < arr.length; j++) {
            var tempObj = {};
            tempObj.scheme =
              "第" + (i + 1) + "天买入，此时价值: " + arr[i] + ", 第" + (j + 1) + "天卖出，此时价值：" + arr[j] + ",最大利润：" + (arr[j] - arr[i]);
            tempObj.profit = arr[j] - arr[i];
            allSchemeArr.push(tempObj);
          }
        }
        console.log(allSchemeArr);
        // 2，将所有利润存入数组，降序排列利润收益
        allSchemeArr.sort((pre, next) => next.profit - pre.profit);
        // 3，过滤出最大利润方案，全部列出
        var allMaximumScheme = allSchemeArr.filter((m, index, allSchemeArr) => m.profit === allSchemeArr[0].profit);
        //打印出所有方案
        for (var item of allMaximumScheme) {
          console.log("最大利润方案: ", item.scheme); //最大利润方案:  第2天买入，此时价值: 1, 第5天卖出，此时价值：6,最大利润：5
        }
      }
      getMaximumProfitScheme([7, 1, 5, 3, 6, 4]);
    </script>
  </head>
  <body></body>
</html>
